package top.jojoace.demo.Configuration;

import lombok.ToString;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import top.jojoace.demo.Dao.User1;
import top.jojoace.demo.Dao.User3;
import top.jojoace.demo.Dao.UserInterface;

/**
 * @author 陈Ser
 * @ClassName UserConfiguration
 * @description: TODO
 * @Date 2021/10/27 20:03
 * @Version 1.0
 */
@Configuration
@ToString
public class UserConfiguration {

    /**
     * <h2>使用 @Value(${"KEY"}) 获得 application.properties 中的值 Value.</h2>
     */
    @Value("${my.inputStr}")
    private String str;
    @Value("${my.inputInt}")
    private int i;


    /**
     * <h3>将 类 注入IOC容器。</h3>
     * <p>
     *     类ID：方法名。
     * </p>
     * <p>
     *     类的类型：为返回的类型。
     * </p>
     */
    @Bean
    public UserInterface user3(){
        return new User3("name3",3);
    }

    @Bean
    public UserInterface haveValueUser(){
        return new User3(this.str,this.i);
    }
}
